Several leading technology organizations are investing in building technologies that sell “software-as-a-service”. Such services provide access to shared storage (e.g., database systems) and/or computing resources to clients, or subscribers. Within multi-tier e-commerce systems, different resources may be allocated to subscribers and/or their applications from whole machines, to CPU, to memory, to network bandwidth, and to I/O capacity.
A distributed database service typically partitions data and resources across multiple storage nodes. Interaction between client applications and database servers typically includes read operations (read-only queries), write operations (to store data), and update operations that can be conceptualized using a read-modify-write workflow.
Some database services provide guaranteed throughput for customers at a throughput level that they purchase. The guaranteed throughput is typically specified and provided on the basis of reads per second (RPS) and writes per second (WPS). However, the performance of such database services can vary widely even when a customer is not consuming their total guaranteed throughput if the distribution of reads and writes is not relatively uniform across their data.
While the technology described herein is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the disclosure to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.